// pages/business/business.js
var $ = require('../../utils/js.js');
const app = getApp()
var img_gy_src = $.img_gy_src;
Page({
  // 页面的初始数据
  data: {
    // 图片路径的公用部分
    img_gy_src: img_gy_src,

    // 轮播图的数据
    lun_bo_data: [],

    // nav轮播的下标
    nav_index: 0,
    // nav轮播的数据
    nav_data: [],
    // 推荐商家的数据
    tj_shop_data: [],

    // 是否悬停
    fixed: false,

    // 店铺列表的当前nav_name
    shop_list_nav: "fjdd",

    // 获取到的分类id
    fen_lei_id: 0,

    // 用户是否授权定位
    ding_wei: false,
    // 用户当前的经纬度
    lng: 0,
    lat: 0,

    // 选中的区域
    qu_yu_data: {
      fullname: "全国",
      id: "",
    },
    // 选中区域的下标数组
    qu_yu_index: ["", ""],

    // 获取到的列表数据
    list_data: [],
    // 是否还有更多数据
    more_data: true,
    // 页码
    page: 1,

    // 是否刷新页面
    shua_xin: false,
  },
  // 生命周期函数--监听页面加载
  onLoad: function(options) {
    // 获取轮播数据
    this.get_lun_bo();
    // 获取nav的列表数据
    this.get_nav_data();
    // 获取推荐商家
    this.get_tj_shop_fun();
    // 调用滚动悬停函数
    this.scroll_xuan_ting_fun();
    // 获取用户的经纬度
    this.get_lng_lat();
  },
  // 生命周期函数--监听页面显示
  onShow: function() {
    if (this.data.shua_xin) {
      this.setData({
        shua_xin: false,
      })
      // 获取用户的经纬度
      this.get_lng_lat();
    }
  },
  // 自定义函数   开始
  // 点击了搜索
  sou_suo_fun() {
    $.open('/pages/index/search/search')
  },
  // 获取轮播数据
  get_lun_bo() {
    $.ajax_get({
      url: "/shops/slides",
      success: (res) => {
        var data = res.data.data;
        if (data) {
          this.setData({
            lun_bo_data: data,
          })
        }
      }
    });
  },
  open_fun(e) {
    var index = $.data(e, "index");
    var lun_bo_data = this.data.lun_bo_data;
    var data = lun_bo_data[index];
    $.open("/pages/shang_quan/dian_pu_xiang_qing/dian_pu_xiang_qing?id=" + data.shop_id);
    // $.open("/pages/qiang_gou/xq/xq?id=" + data.goods_id);
  },
  //nav轮播改变时
  nav_change_fun(e) {
    this.setData({
      nav_index: e.detail.current
    })
  },

  // 获取nav的列表数据
  get_nav_data() {
    $.ajax_get({
      url: "/common/category",
      data: {
        type: 'shop'
      },
      success: (res) => {
        var data = res.data.data;
        if (data) {
          this.setData({
            nav_data: data,
          })
        }
      }
    });
  },
  // 获取推荐商家
  get_tj_shop_fun() {
    var that = this;
    $.ajax_get({
      url: "/shops/recommend",
      success: (res) => {
        var data = res.data.data;
        if (data) {
          this.setData({
            tj_shop_data: data,
          })
        }
      }
    });
  },
  // 滚动悬停函数
  scroll_xuan_ting_fun() {
    wx.createIntersectionObserver().relativeToViewport({
      top: 0
    }).observe("#biao_zhu", (res) => {
      if (res.intersectionRect.height == 0 && res.boundingClientRect.bottom <= 0) {
        this.setData({
          fixed: true,
        })
      } else {
        this.setData({
          fixed: false,
        })
      }
    })
  },

  // 点击店铺列表中的nav时触发
  shop_list_nav_fun(e) {
    var shop_list_nav = this.data.shop_list_nav;
    var nav_name = e.currentTarget.dataset.nav_name;
    if (nav_name != shop_list_nav) {
      this.setData({
        shop_list_nav: nav_name,
      })
      // 获取用户的经纬度
      this.get_lng_lat();
    }
  },
  // 获取用户的经纬度
  get_lng_lat() {
    if (this.data.ding_wei) {
      // 获取新的列表数据
      this.get_new_list_data();
    } else {
      $.ding_wei((data) => {
        this.setData({
          ding_wei: data.root
        })
        if (data.root) {
          this.setData({
            lng: data.jing_du,
            lat: data.wei_du,
          })
        }
        // 获取新的列表数据
        this.get_new_list_data();
      })
    }
  },
  // 获取新的列表数据
  get_new_list_data() {
    this.setData({
      page: 1,
      more_data: true,
      list_data: [],
    })
    // 获取列表数据
    this.get_list_data();
  },
  // 获取列表数据
  get_list_data() {
    var more_data = this.data.more_data;
    // 如果还有更多数据
    if (more_data) {
      var page = this.data.page - 0;
      var form_data = {
        // 分类id
        cat_id: this.data.fen_lei_id,
        pn: page,
        longitude: this.data.lng,
        latitude: this.data.lat,
      };
      var shop_list_nav = this.data.shop_list_nav;
      switch (shop_list_nav) {
        case 'fjdd': // 附近的店
          form_data.near = 1;
          break;
        case 'rqpm': // 人气排行
          form_data.hot = 1;
          break;
        case 'lqph': // 领券排行
          form_data.coupons = 1;
          break;
      }
      var qu_yu_data = this.data.qu_yu_data;
      if (qu_yu_data.id) {
        form_data.area_code = qu_yu_data.id;
      }
      $.ajax_get({
        url: "/shops/list",
        data: form_data,
        success: (res) => {
          var data = res.data.data;
          console.log("列表数据", data);
          if (data) {
            if (data.length < 10) {
              this.setData({
                more_data: false,
              })
            } else {
              this.setData({
                page: page + 1,
              })
            }
            data.forEach((obj, index) => {
              var score = obj.score;
              data[index].xing_ji = [score - 0, score - 1, score - 2, score - 3, score - 4];
              data[index].score = score.toFixed(1);
            });

            var list_data = this.data.list_data.concat(data);
            this.setData({
              list_data: list_data,
            })
          } else {
            this.setData({
              more_data: false,
            })
          }
        }
      })
    }
  },
  // 自定义函数   结束

  // 页面滚动到最底部时触发
  onReachBottom: function() {
    if (this.data.list_data.length) {
      // 获取列表数据
      this.get_list_data();
    }
  },
})